Call centers distribute calls and other types of communications to available call-handling service agents in accordance with various predetermined criteria. In existing call centers, the criteria for handling a call are often programmable by the operator of the call center via a capability known as call vectoring. Typically, when the call center detects that an agent has become available to handle a call, the call center identifies the call-handling skills of the agent, usually in some order of priority, and delivers to the agent the longest-waiting call that matches the agent's highest-priority skill. Most conventional call distribution techniques generally focus on being “fair” to callers and agents. This fairness is reflected by the standard first-in, first-out call queuing and most-idle-agent call assignment process. The above-noted skills-based queuing improves upon this basic process in that it allows each agent to be placed into a number of different service categories based on the skill types supported by that agent.
Existing call centers, such as the DEFINITY® call center from Lucent Technologies, can be configured to allow agent skills to be associated with proficiency levels. Calls centers may utilize these skill proficiency levels in call selection and agent selection processes, in order to skew the use of a given agent toward the types of calls that are queued for that agent's most proficient skills. In conventional systems, such skill proficiency levels may be based, for example, on an agent performing a particular task faster or with better revenue results, or on an agent's preference for a particular type of work over other types of work. These factors are referred to as speed, yield and preference, respectively. By way of example, a given agent may have several skills, with the skills spread over a number of different proficiency levels or each set at a unique proficiency level. When this agent becomes available to take a call, a conventional call center may, e.g., determine if there are any calls waiting for the skill(s) at the highest, i.e., best, proficiency level. If two or more of such calls are found, then a decision is made as to which one the agent should take. If no such calls are found, the call center looks at the next lower level of proficiency, and the process continues sequentially until a call is found for the agent to take.
A significant drawback of the above-described conventional process is that it takes a “lock-step” approach to consideration of skill proficiency levels for individual agents. As a result, no call at a lower proficiency level is considered for the given agent, regardless of factors such as the priority of the call, the urgency of the call, the elapsed wait time for the call, or the amount of time the call is expected to continue to wait. A possible alternative approach is for the call center to disregard issues of individual agent proficiency altogether. In this case, the call center can examine all of the agent skills simultaneously in order to identify the agent to receive the next call. If an agent is slower or faster on a particular type of call, or if an agent generates more or less revenue on a particular type of call, or is less or more eager to take a particular type of call, these factors are ignored. Unfortunately, this alternative fails to obtain the benefits otherwise associated with the use of skill proficiency levels.